`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2022/01/02 17:48:17
// Design Name: 
// Module Name: hilo_reg
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////




module hilo_reg(
	input wire clk,rst,
	input wire [1:0] hilowrite,
	input wire[31:0] hi,lo,
	output reg[31:0] hi_o,lo_o
    );
	
	always @(negedge clk) begin
	   case(rst)
	       1'b1: {hi_o,lo_o} <= 64'b0;
	       1'b0: case(hilowrite)
		              2'b01: lo_o <= lo;
		              2'b10: hi_o <= hi;
		              2'b11: {hi_o,lo_o} <= {hi,lo};
		              default: {hi_o,lo_o} <= {hi_o,lo_o};
		          endcase
	   endcase
	end
endmodule
